package com.ruoyi.yys.mapper;

import java.util.List;
import com.ruoyi.yys.domain.ImportExportTask;
import org.apache.ibatis.annotations.Param;

/**
 * 导入导出任务Mapper接口
 * 
 * @author xinyin
 * @date 2022-12-07
 */
public interface ImportExportTaskMapper 
{
    /**
     * 查询导入导出任务
     * 
     * @param id 导入导出任务主键
     * @return 导入导出任务
     */
    public ImportExportTask selectImportExportTaskById(String id);

    /**
     * 查询导入导出任务列表
     * 
     * @param importExportTask 导入导出任务
     * @return 导入导出任务集合
     */
    public List<ImportExportTask> selectImportExportTaskList(ImportExportTask importExportTask);

    /**
     * 新增导入导出任务
     * 
     * @param importExportTask 导入导出任务
     * @return 结果
     */
    public int insertImportExportTask(ImportExportTask importExportTask);

    /**
     * 修改导入导出任务
     * 
     * @param importExportTask 导入导出任务
     * @return 结果
     */
    public int updateImportExportTask(ImportExportTask importExportTask);

    /**
     * 删除导入导出任务
     * 
     * @param id 导入导出任务主键
     * @return 结果
     */
    public int deleteImportExportTaskById(String id);

    /**
     * 批量删除导入导出任务
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteImportExportTaskByIds(String[] ids);

    /**
     * 获取正在执行和未执行的任务
     *
     * @param status 加入
     * @return {@link List}<{@link ImportExportTask}>
     */
    List<ImportExportTask> getNotExecute(String status);

    /**
     * 更新进展
     *
     * @param id          id
     * @param progress    进度
     * @param executeTime 执行时间
     * @return int
     */
    int updateProgress(@Param("id") String id,@Param("progress") String progress,@Param("executeTime") String executeTime);

    /**
     * 更新状态通过id
     *
     * @param id     id
     * @param opError    消息
     * @param executeTime 执行时间
     * @return int
     */
    int updateStatusById(@Param("id") String id,@Param("opError") String opError,@Param("executeTime") String executeTime);
}
